package com.campus.counseling.service;

import com.campus.counseling.model.vo.LoginStatsVO;
import com.campus.counseling.model.vo.TimeDistributionVO;
import com.campus.counseling.model.vo.UserActiveVO;

import java.time.LocalDate;
import java.util.List;
import java.util.Map;

public interface LoginAnalysisService {
    
    /**
     * 获取登录统计数据
     * @param startDate 开始日期
     * @param endDate 结束日期
     * @return 统计数据
     */
    LoginStatsVO getLoginStats(LocalDate startDate, LocalDate endDate);
    
    /**
     * 获取活跃用户数据
     * @param timeRange 时间范围（day/week/month）
     * @return 活跃用户列表
     */
    List<UserActiveVO> getActiveUsers(String timeRange);
    
    /**
     * 获取登录时间分布
     * @param date 日期
     * @return 时间分布数据
     */
    List<TimeDistributionVO> getLoginTimeDistribution(LocalDate date);
    
    /**
     * 获取登录地理分布
     * @return 地理分布数据
     */
    List<Map<String, Object>> getLoginGeoDistribution();
    
    /**
     * 获取设备类型分布
     * @return 设备分布数据
     */
    List<Map<String, Object>> getDeviceDistribution();
} 